package com.cdp.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Data
public class SysPkl {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;  // `id` 字段对应数据库中的 id 列，类型为 `int`

    @TableField("user_id")
    private Long userId;  // `user_id` 字段对应数据库中的 user_id 列，类型为 `bigint`

    @TableField("create_by")
    private String createBy;  // `create_by` 字段对应数据库中的 create_by 列，类型为 `varchar`

    @TableField("create_time")
    private LocalDateTime createTime;  // `create_time` 字段对应数据库中的 create_time 列，类型为 `datetime`

    @TableField("update_by")
    private String updateBy;  // `update_by` 字段对应数据库中的 update_by 列，类型为 `varchar`

    @TableField("update_time")
    private LocalDateTime updateTime;  // `update_time` 字段对应数据库中的 update_time 列，类型为 `datetime`

    @TableField("version")
    private Integer version;  // `version` 字段对应数据库中的 version 列，类型为 `int`

    @TableField("delete_time")
    private Integer deleteTime;  // `delete_time` 字段对应数据库中的 delete_time 列，类型为 `int`

    @TableField("remark")
    private String remark;  // `remark` 字段对应数据库中的 remark 列，类型为 `varchar`


    @TableField("pkl_url")
    private String pklUrl;


    @TableField("excel_file_path")
    private String excelFilePath;

    @TableField("model_name")
    private String modelName;

    @TableField("input_features")
    private String inputFeatures;

    @TableField("target_feature")
    private String targetFeature;

    @TableField("param_grid")
    private String paramGrid;

    @TableField("selection_later")
    private String  selectionLater;





    @TableField("type")
    private String  type;



    @TableField("y_train")
    private String yTrain;

    @TableField("y_test")
    private String  yTest;

    @TableField("y_pred_final_train")
    private String yPredFinalTrain;
    @TableField("y_pred_final_test")
    private String yPredFinalTest;

    @TableField("final_r2_train")
    private Double  finalR2Train;

    @TableField("final_r2_text")
    private Double finalR2Test;


    @TableField("final_mse_train")
    private Double  finalMseTrain;
    @TableField("final_mse_text")
    private Double   finalMseTest;


//    @TableField("final_r2_train")
//    private String  finalR2Train;
//
//    @TableField("final_r2_text")
//    private String finalR2Test;
//
//
//    @TableField("final_mse_train")
//    private String  finalMseTrain;
//    @TableField("final_mse_text")
//    private String   finalMseTest;



    @TableField("best_params")
    private String   bestParams;

    @TableField("metrics_info")
    private String  metricsInfo;

    private String excelName;
    /**
     * 统计分析入参
     */
    @TableField("select_feature")
    private String   selectFeature;

    @TableField("xlsx_file")
    private String   xlsxFile;

    @TableField("first_target_feature")
    private String    firstTargetFeature;


    @TableField("record_name")
    private String  recordName;




    @TableField("model")
    private String model; // 模型

    @TableField("target")
    private String target; // 目标

    @TableField("number")
    private String number; // 输入特征数量

    @TableField("detail")
    private String detail; // 输入特征

    @TableField("percentage")
    private String percentage; // 训练集和测试集划分比例

    @TableField("r2")
    private String r2; // 测试集上的R2

    @TableField("mse")
    private String mse; // 测试集上的MSE


}
